Separate DB almost fixed
[RRRRHHHH_Code] / ruralHouses client / src / gui / listOfOffers.java
index 1a49f1c..3674c59 100644 (file)
@@ -1,9 +1,13 @@
 package gui;
 
+import java.awt.Color;
+import java.awt.Component;
 import java.awt.Font;
 import java.awt.Rectangle;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
+import java.rmi.Naming;
+import java.rmi.RemoteException;
 import java.util.Enumeration;
 import java.util.Vector;
 
@@ -13,8 +17,12 @@ import javax.swing.JPanel;
 import javax.swing.JScrollPane;
 import javax.swing.JTable;
 import javax.swing.border.EmptyBorder;
+import javax.swing.table.DefaultTableCellRenderer;
 import javax.swing.table.DefaultTableModel;
 
+import common.HouseInterface;
+
+import configuration.___IntNames;
 import domain.Offer;
 import domain.Owner;
 import domain.RuralHouse;
@@ -53,8 +61,23 @@ public class listOfOffers extends JFrame {
                setContentPane(contentPane);
                contentPane.setLayout(null);
                this.offers = new Vector<Offer>();
-               for (RuralHouse rh: this.owner.getRuralHouses()){
-                       this.offers.addAll(rh.getAllOffers());
+               HouseInterface hm = null;
+               try {
+                       hm = (HouseInterface) Naming
+                                       .lookup(___IntNames.HouseManager);
+               } catch (Exception e1) {
+                       System.out.println("Error accessing remote authentication: "
+                                       + e1.toString());
+               }
+               Vector<RuralHouse> Hlist = null;
+               try {
+                       Hlist = hm.getHouses(owner, null, null, 0, 0, 0, 0, 0);
+               } catch (RemoteException e1) {
+                       e1.printStackTrace();
+               }
+               for (RuralHouse rh: Hlist){
+                       for(Offer of : rh.getAllOffers())
+                       this.offers.add(of);
                }
                JLabel lblNewLabel = new JLabel();
                lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 27));
@@ -82,8 +105,6 @@ public class listOfOffers extends JFrame {
                tableModel = new DefaultTableModel(null, new String[] { "Offer #",
                                "FirstDay", "LastDay", "Price" ,"RuralHouse"});
 
-               // Maybe there is a better way to avoid interaction.
-               // table.setEnabled(false);
                table.setModel(tableModel);
                table.addMouseListener( new MouseAdapter(){                     
                        @Override
@@ -103,8 +124,33 @@ public class listOfOffers extends JFrame {
                        row.add(of.getPrice());
                        row.add(of.getRuralHouse().getHouseName());
                        tableModel.addRow(row);
-
                }
+               
+               table.setDefaultRenderer(Object.class, new DefaultTableCellRenderer() {
+                       /**
+                        * 
+                        */
+                       private static final long serialVersionUID = 1L;
+
+                       @Override
+                       public Component getTableCellRendererComponent(JTable table,
+                                       Object value, boolean isSelected, boolean hasFocus,
+                                       int row, int col) {
+
+                               super.getTableCellRendererComponent(table, value, isSelected,
+                                               hasFocus, row, col);
+
+                               if (!offers.get(row).isBooked()) {
+                                       setBackground(Color.ORANGE);
+                                       setForeground(Color.BLACK);
+                               } else {
+                                       setBackground(Color.GREEN);
+                                       setForeground(Color.BLACK);
+                               }
+
+                               return this;
+                       }
+               });
 
        }
 }